package cre.sample.test.freemark;

import java.io.File;
import java.io.FileOutputStream;

public class FileUtil {
	/**
	 * 将字符串写入到文件
	 * 
	 * @param filePath
	 *            指定文件路径，不带文件名
	 * @param fileName
	 *            指定文件名
	 * @param content
	 *            void
	 * 
	 * @author Cre.Gu at 2012-11-22
	 * @throws Exception
	 */
	public static void write2File(String filePath, String fileName,
			String content) throws Exception {
		File file = new File(filePath);
		if (!file.exists()) {
			file.mkdirs();
		}
		File file1 = new File(filePath + fileName);
		if (file1.exists()) {
			file1.delete();
		}
		FileOutputStream fos = new FileOutputStream(filePath + fileName);
		fos.write(content.getBytes());
		fos.close();
	}

	/**
	 * 判断文件是否被其他占用
	 * 
	 * @param path
	 *            文件路径
	 * @return true 没有锁 ，false 锁住
	 */
	public static boolean isLock(String path) {
		File file = new File(path);
		if (file.exists()) {
			if (file.renameTo(file)) {
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}

	/**
	 * 创建文件目录 如果该文件目录的父目录不存在也一并创建
	 * 
	 * @param path
	 * @return
	 * @throws Exception
	 */
	public static boolean createDirectory(String path) throws Exception {
		File file = new File(path);
		if (file.exists()) {
			return false;
		}
		return file.mkdirs();
	}
	
	public static void deleteFile(File file){
		if(file.exists()){
			file.delete();
		}
	}
	
	public static boolean exists(String filePath){
		File file = new File(filePath);
		if(file.exists()){
			return true;
		}
		return false;
	}
}